Moved on_convar_changed_listener_manager to C++.#414
Conversation
jordanbriere
left a comment
There was a problem hiding this comment.
Looks good to me. The less SP does when idled the better imo. I don't necessarily see an issue with:
As a backwards compatibility break, when
CallGlobalChangeCallbacksis blocked, the listener will no longer be emitted, but I don't think this will have any impact.
Since the same could be said for almost any listeners if the functions that trigger them are blocked by a hook that never forward to ours and I don't think that is something we should care about in general. If that was really causing issues, we could always lazily register our hook anyway but I don't see the benefit to that.
Question is, does it works on all games?
Since InstallGlobalChangeCallback/RemoveGlobalChangeCallback are old functions (header public/icvar.h has been checked), I assume they will work, but what kind of testing do you perform when you add new functions that depend on Source SDK? |
AM does a pretty good job at maintaining the SDKs so I mainly only ensure that they are declared on all branches, then usually only test on CS:S/CS:GO that the features work, to finally deal with potential issues as they are reported for the others. |
Improved performance and eliminated hooks.
As a backwards compatibility break, when
CallGlobalChangeCallbacksis blocked, the listener will no longer be emitted, but I don't think this will have any impact.If there is a problem, I will reset to the hook.